🔌 API 开发文档

基于 OpenClaw + Claude Code 的端到端研发自动化系统

版本:v1.0 | 更新日期:2026-03-16

📋 API 概述

本系统提供完整的 RESTful API 接口,支持任务管理、Agents 控制、CI/CD 集成等功能。

基础信息

属性
Base URLhttps://api.openclaw-system.com/v1
协议HTTPS
数据格式JSON (UTF-8)
认证方式Bearer Token / API Key

🔐 认证与授权

API Key 认证

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

JWT Token 认证流程

POST /auth/login
{
  "username": "user@example.com",
  "password": "your_password"
}

// 响应
{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "refresh_token": "dGhpcyBpcyBhIHJlZnJl...",
  "expires_in": 3600,
  "token_type": "Bearer"
}

📦 核心 API 接口

任务管理

POST /tasks 创建任务
{
  "name": "创建用户登录功能",
  "description": "实现完整的用户登录流程",
  "agent_id": "backend_agent",
  "priority": "high",
  "parameters": {
    "framework": "fastapi",
    "include_tests": true
  }
}
GET /tasks/{task_id} 获取任务详情
POST /tasks/{task_id}/cancel 取消任务
GET /tasks?page=1&page_size=20 列出任务

Agents 管理

GET /agents 列出所有 Agents
GET /agents/{agent_id}/config 获取 Agent 配置
PUT /agents/{agent_id}/config 更新 Agent 配置

文件操作

POST /files/read 读取文件
POST /files/write 写入文件
DELETE /files/{file_path} 删除文件

⚙️ CI/CD 集成 API

Jenkins 集成

POST /ci/jenkins/builds 触发构建
{
  "job_name": "order-service",
  "branch": "main",
  "parameters": {
    "DEPLOY_ENV": "test"
  }
}
GET /ci/jenkins/builds/{build_id} 获取构建状态

K8s 部署

POST /cd/kubernetes/deploy 部署应用
{
  "namespace": "test",
  "application": "order-service",
  "image": "harbor.internal.com/order-service:v1.2.3",
  "replicas": 3
}

❌ 错误码参考

错误码 HTTP 状态码 说明 解决方案
INVALID_API_KEY 401 API Key 无效 检查 API Key 是否正确
TOKEN_EXPIRED 401 Token 已过期 刷新 Token 或重新登录
INSUFFICIENT_PERMISSION 403 权限不足 联系管理员提升权限
TASK_NOT_FOUND 404 任务不存在 检查 Task ID 是否正确
RATE_LIMIT_EXCEEDED 429 请求频率超限 降低请求频率

📚 SDK 使用指南

Python SDK

# 安装
pip install openclaw-sdk

# 初始化
from openclaw import OpenClawClient
client = OpenClawClient(
    api_key="YOUR_API_KEY",
    base_url="https://api.openclaw-system.com/v1"
)

# 创建任务
task = client.tasks.create(
    name="创建订单功能",
    agent_id="backend_agent",
    parameters={"framework": "fastapi"}
)

# 轮询状态
while True:
    task = client.tasks.get(task.id)
    if task.status in ['completed', 'failed']:
        break
    time.sleep(5)

Node.js SDK

// 安装
npm install @openclaw/sdk

// 使用
const { OpenClawClient } = require('@openclaw/sdk');
const client = new OpenClawClient({
  apiKey: 'YOUR_API_KEY'
});

const task = await client.tasks.create({
  name: '创建订单功能',
  agentId: 'backend_agent'
});